Table of Contents
强大的文本编辑器vi
在Linux如何打开文本文件,进行复制、粘贴、编辑、修改替换、撤销、重做、保存、另存?
Vi 是多模式文本编辑器,提供四种模式:正常、插入、命令、可视模式
进入Vim:在终端输入vim [文件名] 或 vim ,前者编辑指定文本,后者新建文本(之后在vim进行保存操作)
1. 正常模式:即进入vim的起始模式
1.1 进入插入模式的操作:
- i:进入插入模式,光标位置与正常模式中的位置一致
- Shift + i:进入插入模式,光标位置移动到所在行行首
- a:进入插入模式,光标位置移动到所在字符的后面
- Shift + a:进入插入模式,光标位置移动到所在行行末
- o:进入插入模式,并在光标所在行后新建一行,光标移动到新建行行首
- Shift+o:进入插入模式,并在光标所在行前新建一行,光标移动到新建行行首 从插入模式退回正常模式:按键盘左上角的"ESC键"
1.2 从正常模式进入命令模式
在正常模式下,输入冒号" : ",即可进入命令模式,可以对vim输入命令。
1.3 从正常模式进入可视模式:按"V"键
1.4 光标移动
上:K 下:J 左:H 右:L
1.5 复制
复制单行:正常模式下,按yy,将会复制光标所在行 复制多行:正常模式下,输入要复制的行数,如3,按yy,将会复制光标开始的对应行数(包括光标所在行)。 复制光标到所在行结尾:y$(先按y键,再按Shift+4)
1.6 剪切
剪切单行:dd 剪切多行:(数字) dd。如,11 dd 剪切光标到所在行结尾:d$
1.7 粘贴:p键(可以按多次进行多次粘贴)
1.8 撤销和重做:u键撤销、Ctrl+r键重做
1.9 单个字符的删除:x键
1.10 单个字符的替换:移动想替换的字符上,按r键后输入用来替换的字符
1.11 光标快速移动:
移动到文件开头:g键 移动到文件结尾:Shift+g键 移动到指定行:输入数字后,按Shift+g键 移动到当前行开头:^键(Shift+6) 移动到当前行结尾:$键(Shift+4)
2. 命令模式
2.1 另存为 - ":w [文件名]"
2.2 保存到原文件 - ":w"
2.3 退出 - ":q"
2.4 保存并退出 - ":wq"
2.5 不保存退出 - ":q!"
2.6 打开的同时执行命令 - ":![命令]"
2.7 查找 - "/[查找的字符]"
查看下一个:n键 查看上一个:Shift+n键
2.8 行内单次替换 - ": s/[old]/[new]"
2.9 全局多次替换 - ":%s/[old]/[new]/g"
2.10 指定行多次替换 - "3,5s/[old]/[new]/g" 指定了第3行到第5行
2.11 修改显示设置
set nu:显示行号(退出后自动失效) set nonu:隐藏行号 set nohlsearch:取消搜索高亮 进行长久生效的设置需要修改配置文件,vim的显示配置文件为/etc/vimrc 在/etc/vimrc的末尾新建一行,输入set nu 并保存后每次用vim打开文本都会自动显示行号
3. 可视模式
该模式用于选择特定区域以进行批量处理。
3.1 字符可视模式:v键
该模式下选择的区域为单个字符。我不太明白为什么要有这个模式,这跟直接插入模式有什么差别吗?
3.2 行可视模式:Shift+v键
该模式下选择的区域为某些行。
3.3 块可视模式:Ctrl+v键
该模式下选择的区域为上下对齐的块。
3.4 批量增加文本
在块可视模式下选择要增加的区域。 退回插入模式,进行文本增加。 连按两次"ESC键",文本修改会应用到选中块区域的每一行中。
3.5 批量删除
在块可视模式下,选择要操作的区域。 按d键剪切,将剪切掉选中的块区域。